#ifndef _UNIT_FIELD_DESCRIPTION_
#define _UNIT_FIELD_DESCRIPTION_

#include <map>
#include "unit_calculator.h"

class UnitFieldDescription
{
public:
  enum FieldEnumType
  {
    FieldTypeInteger,
    FieldTypeDouble,
    FieldTypeString,
  };

  UnitFieldDescription();

  static const wxString& GetName(const UnitCalculator::FieldEnum& item);
  static FieldEnumType GetType(const UnitCalculator::FieldEnum& item);
  static void Refresh();
private:
  static void CreateInstance();
  typedef std::map<UnitCalculator::FieldEnum, std::pair<FieldEnumType, wxString> > NameMappingType;
  static NameMappingType NameMapping;
};

#endif // _UNIT_FIELD_DESCRIPTION_
